// $ANTLR 3.1.3 Mar 18, 2009 10:09:25 XHTML2CSV.g 2009-10-13 15:54:58

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class XHTML2CSVLexer extends Lexer {
    public static final int LIGNED=7;
    public static final int LIGNEG=6;
    public static final int LIGNE=9;
    public static final int CELLULEG=4;
    public static final int CELLULED=5;
    public static final int TABLEALIGN=12;
    public static final int WHITESPACE=19;
    public static final int CHAINE=18;
    public static final int EOF=-1;
    public static final int TABLEAU=10;
    public static final int BORDER=13;
    public static final int GUILLEMET=16;
    public static final int POS=17;
    public static final int ENTIER=14;
    public static final int TABLED=8;
    public static final int CELLULE=11;
    public static final int FINBALISE=15;

    // delegates
    // delegators

    public XHTML2CSVLexer() {;} 
    public XHTML2CSVLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public XHTML2CSVLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "XHTML2CSV.g"; }

    // $ANTLR start "CELLULEG"
    public final void mCELLULEG() throws RecognitionException {
        try {
            int _type = CELLULEG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:3:10: ( '<td>' )
            // XHTML2CSV.g:3:12: '<td>'
            {
            match("<td>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "CELLULEG"

    // $ANTLR start "CELLULED"
    public final void mCELLULED() throws RecognitionException {
        try {
            int _type = CELLULED;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:4:10: ( '</td>' )
            // XHTML2CSV.g:4:12: '</td>'
            {
            match("</td>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "CELLULED"

    // $ANTLR start "LIGNEG"
    public final void mLIGNEG() throws RecognitionException {
        try {
            int _type = LIGNEG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:5:8: ( '<tr>' )
            // XHTML2CSV.g:5:10: '<tr>'
            {
            match("<tr>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "LIGNEG"

    // $ANTLR start "LIGNED"
    public final void mLIGNED() throws RecognitionException {
        try {
            int _type = LIGNED;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:6:8: ( '</tr>' )
            // XHTML2CSV.g:6:10: '</tr>'
            {
            match("</tr>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "LIGNED"

    // $ANTLR start "TABLED"
    public final void mTABLED() throws RecognitionException {
        try {
            int _type = TABLED;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:7:8: ( '</table>' )
            // XHTML2CSV.g:7:10: '</table>'
            {
            match("</table>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "TABLED"

    // $ANTLR start "WHITESPACE"
    public final void mWHITESPACE() throws RecognitionException {
        try {
            int _type = WHITESPACE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:44:12: ( ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+ )
            // XHTML2CSV.g:44:14: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
            {
            // XHTML2CSV.g:44:14: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>='\t' && LA1_0<='\n')||(LA1_0>='\f' && LA1_0<='\r')||LA1_0==' ') ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // XHTML2CSV.g:
            	    {
            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            				_channel = HIDDEN;
            			

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "WHITESPACE"

    // $ANTLR start "TABLEALIGN"
    public final void mTABLEALIGN() throws RecognitionException {
        try {
            int _type = TABLEALIGN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:48:12: ( ( '<table align=' ) )
            // XHTML2CSV.g:48:14: ( '<table align=' )
            {
            // XHTML2CSV.g:48:14: ( '<table align=' )
            // XHTML2CSV.g:48:15: '<table align='
            {
            match("<table align="); 


            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "TABLEALIGN"

    // $ANTLR start "BORDER"
    public final void mBORDER() throws RecognitionException {
        try {
            int _type = BORDER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:50:8: ( ( ' border=' ) )
            // XHTML2CSV.g:50:10: ( ' border=' )
            {
            // XHTML2CSV.g:50:10: ( ' border=' )
            // XHTML2CSV.g:50:11: ' border='
            {
            match(" border="); 


            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "BORDER"

    // $ANTLR start "POS"
    public final void mPOS() throws RecognitionException {
        try {
            int _type = POS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:52:5: ( ( 'center' | 'left' | 'right' ) )
            // XHTML2CSV.g:52:7: ( 'center' | 'left' | 'right' )
            {
            // XHTML2CSV.g:52:7: ( 'center' | 'left' | 'right' )
            int alt2=3;
            switch ( input.LA(1) ) {
            case 'c':
                {
                alt2=1;
                }
                break;
            case 'l':
                {
                alt2=2;
                }
                break;
            case 'r':
                {
                alt2=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // XHTML2CSV.g:52:8: 'center'
                    {
                    match("center"); 


                    }
                    break;
                case 2 :
                    // XHTML2CSV.g:52:19: 'left'
                    {
                    match("left"); 


                    }
                    break;
                case 3 :
                    // XHTML2CSV.g:52:28: 'right'
                    {
                    match("right"); 


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "POS"

    // $ANTLR start "ENTIER"
    public final void mENTIER() throws RecognitionException {
        try {
            int _type = ENTIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:54:8: ( '\\\"' ( '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )* '\\\"' )
            // XHTML2CSV.g:54:10: '\\\"' ( '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )* '\\\"'
            {
            match('\"'); 
            // XHTML2CSV.g:54:15: ( '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0>='1' && LA3_0<='9')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // XHTML2CSV.g:
            	    {
            	    if ( (input.LA(1)>='1' && input.LA(1)<='9') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "ENTIER"

    // $ANTLR start "GUILLEMET"
    public final void mGUILLEMET() throws RecognitionException {
        try {
            int _type = GUILLEMET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:56:11: ( ( '\"' ) )
            // XHTML2CSV.g:56:13: ( '\"' )
            {
            // XHTML2CSV.g:56:13: ( '\"' )
            // XHTML2CSV.g:56:14: '\"'
            {
            match('\"'); 

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "GUILLEMET"

    // $ANTLR start "FINBALISE"
    public final void mFINBALISE() throws RecognitionException {
        try {
            int _type = FINBALISE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:58:11: ( ( '>' ) )
            // XHTML2CSV.g:58:13: ( '>' )
            {
            // XHTML2CSV.g:58:13: ( '>' )
            // XHTML2CSV.g:58:14: '>'
            {
            match('>'); 

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "FINBALISE"

    // $ANTLR start "CHAINE"
    public final void mCHAINE() throws RecognitionException {
        try {
            int _type = CHAINE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // XHTML2CSV.g:60:8: ( (~ ( '\\\"' | ',' | '\\n' | '<' | '>' ) )+ )
            // XHTML2CSV.g:60:11: (~ ( '\\\"' | ',' | '\\n' | '<' | '>' ) )+
            {
            // XHTML2CSV.g:60:11: (~ ( '\\\"' | ',' | '\\n' | '<' | '>' ) )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( ((LA4_0>='\u0000' && LA4_0<='\t')||(LA4_0>='\u000B' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='+')||(LA4_0>='-' && LA4_0<=';')||LA4_0=='='||(LA4_0>='?' && LA4_0<='\uFFFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // XHTML2CSV.g:60:12: ~ ( '\\\"' | ',' | '\\n' | '<' | '>' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='+')||(input.LA(1)>='-' && input.LA(1)<=';')||input.LA(1)=='='||(input.LA(1)>='?' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "CHAINE"

    public void mTokens() throws RecognitionException {
        // XHTML2CSV.g:1:8: ( CELLULEG | CELLULED | LIGNEG | LIGNED | TABLED | WHITESPACE | TABLEALIGN | BORDER | POS | ENTIER | GUILLEMET | FINBALISE | CHAINE )
        int alt5=13;
        alt5 = dfa5.predict(input);
        switch (alt5) {
            case 1 :
                // XHTML2CSV.g:1:10: CELLULEG
                {
                mCELLULEG(); 

                }
                break;
            case 2 :
                // XHTML2CSV.g:1:19: CELLULED
                {
                mCELLULED(); 

                }
                break;
            case 3 :
                // XHTML2CSV.g:1:28: LIGNEG
                {
                mLIGNEG(); 

                }
                break;
            case 4 :
                // XHTML2CSV.g:1:35: LIGNED
                {
                mLIGNED(); 

                }
                break;
            case 5 :
                // XHTML2CSV.g:1:42: TABLED
                {
                mTABLED(); 

                }
                break;
            case 6 :
                // XHTML2CSV.g:1:49: WHITESPACE
                {
                mWHITESPACE(); 

                }
                break;
            case 7 :
                // XHTML2CSV.g:1:60: TABLEALIGN
                {
                mTABLEALIGN(); 

                }
                break;
            case 8 :
                // XHTML2CSV.g:1:71: BORDER
                {
                mBORDER(); 

                }
                break;
            case 9 :
                // XHTML2CSV.g:1:78: POS
                {
                mPOS(); 

                }
                break;
            case 10 :
                // XHTML2CSV.g:1:82: ENTIER
                {
                mENTIER(); 

                }
                break;
            case 11 :
                // XHTML2CSV.g:1:89: GUILLEMET
                {
                mGUILLEMET(); 

                }
                break;
            case 12 :
                // XHTML2CSV.g:1:99: FINBALISE
                {
                mFINBALISE(); 

                }
                break;
            case 13 :
                // XHTML2CSV.g:1:109: CHAINE
                {
                mCHAINE(); 

                }
                break;

        }

    }


    protected DFA5 dfa5 = new DFA5(this);
    static final String DFA5_eotS =
        "\2\uffff\2\11\3\12\1\21\5\uffff\4\12\6\uffff\4\12\3\uffff\2\12\1"+
        "\44\3\12\1\uffff\1\44\1\12\1\44\1\12\1\52\1\uffff";
    static final String DFA5_eofS =
        "\53\uffff";
    static final String DFA5_minS =
        "\1\0\1\57\2\0\2\145\1\151\1\42\3\uffff\1\141\1\164\1\157\1\156\1"+
        "\146\1\147\5\uffff\1\141\1\162\2\164\1\150\3\uffff\1\144\1\145\1"+
        "\0\1\164\1\145\1\162\1\uffff\1\0\1\162\1\0\1\75\1\0\1\uffff";
    static final String DFA5_maxS =
        "\1\uffff\1\164\2\uffff\2\145\1\151\1\71\3\uffff\1\162\1\164\1\157"+
        "\1\156\1\146\1\147\5\uffff\2\162\2\164\1\150\3\uffff\1\144\1\145"+
        "\1\uffff\1\164\1\145\1\162\1\uffff\1\uffff\1\162\1\uffff\1\75\1"+
        "\uffff\1\uffff";
    static final String DFA5_acceptS =
        "\10\uffff\1\14\1\6\1\15\6\uffff\1\13\1\12\1\1\1\3\1\7\5\uffff\1"+
        "\2\1\4\1\5\6\uffff\1\11\5\uffff\1\10";
    static final String DFA5_specialS =
        "\1\2\1\uffff\1\1\1\0\34\uffff\1\5\4\uffff\1\6\1\uffff\1\4\1\uffff"+
        "\1\3\1\uffff}>";
    static final String[] DFA5_transitionS = {
            "\11\12\1\3\1\11\1\12\2\3\22\12\1\2\1\12\1\7\11\12\1\uffff\17"+
            "\12\1\1\1\12\1\10\44\12\1\4\10\12\1\5\5\12\1\6\uff8d\12",
            "\1\14\104\uffff\1\13",
            "\11\12\1\3\1\uffff\1\12\2\3\22\12\1\3\1\12\1\uffff\11\12\1"+
            "\uffff\17\12\1\uffff\1\12\1\uffff\43\12\1\15\uff9d\12",
            "\11\12\1\3\1\uffff\1\12\2\3\22\12\1\3\1\12\1\uffff\11\12\1"+
            "\uffff\17\12\1\uffff\1\12\1\uffff\uffc1\12",
            "\1\16",
            "\1\17",
            "\1\20",
            "\1\22\16\uffff\11\22",
            "",
            "",
            "",
            "\1\25\2\uffff\1\23\15\uffff\1\24",
            "\1\26",
            "\1\27",
            "\1\30",
            "\1\31",
            "\1\32",
            "",
            "",
            "",
            "",
            "",
            "\1\35\2\uffff\1\33\15\uffff\1\34",
            "\1\36",
            "\1\37",
            "\1\40",
            "\1\41",
            "",
            "",
            "",
            "\1\42",
            "\1\43",
            "\12\12\1\uffff\27\12\1\uffff\11\12\1\uffff\17\12\1\uffff\1"+
            "\12\1\uffff\uffc1\12",
            "\1\45",
            "\1\46",
            "\1\47",
            "",
            "\12\12\1\uffff\27\12\1\uffff\11\12\1\uffff\17\12\1\uffff\1"+
            "\12\1\uffff\uffc1\12",
            "\1\50",
            "\12\12\1\uffff\27\12\1\uffff\11\12\1\uffff\17\12\1\uffff\1"+
            "\12\1\uffff\uffc1\12",
            "\1\51",
            "\12\12\1\uffff\27\12\1\uffff\11\12\1\uffff\17\12\1\uffff\1"+
            "\12\1\uffff\uffc1\12",
            ""
    };

    static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS);
    static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS);
    static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS);
    static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS);
    static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS);
    static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS);
    static final short[][] DFA5_transition;

    static {
        int numStates = DFA5_transitionS.length;
        DFA5_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA5_transition[i] = DFA.unpackEncodedString(DFA5_transitionS[i]);
        }
    }

    class DFA5 extends DFA {

        public DFA5(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 5;
            this.eot = DFA5_eot;
            this.eof = DFA5_eof;
            this.min = DFA5_min;
            this.max = DFA5_max;
            this.accept = DFA5_accept;
            this.special = DFA5_special;
            this.transition = DFA5_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( CELLULEG | CELLULED | LIGNEG | LIGNED | TABLED | WHITESPACE | TABLEALIGN | BORDER | POS | ENTIER | GUILLEMET | FINBALISE | CHAINE );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA5_3 = input.LA(1);

                        s = -1;
                        if ( (LA5_3=='\t'||(LA5_3>='\f' && LA5_3<='\r')||LA5_3==' ') ) {s = 3;}

                        else if ( ((LA5_3>='\u0000' && LA5_3<='\b')||LA5_3=='\u000B'||(LA5_3>='\u000E' && LA5_3<='\u001F')||LA5_3=='!'||(LA5_3>='#' && LA5_3<='+')||(LA5_3>='-' && LA5_3<=';')||LA5_3=='='||(LA5_3>='?' && LA5_3<='\uFFFF')) ) {s = 10;}

                        else s = 9;

                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA5_2 = input.LA(1);

                        s = -1;
                        if ( (LA5_2=='b') ) {s = 13;}

                        else if ( (LA5_2=='\t'||(LA5_2>='\f' && LA5_2<='\r')||LA5_2==' ') ) {s = 3;}

                        else if ( ((LA5_2>='\u0000' && LA5_2<='\b')||LA5_2=='\u000B'||(LA5_2>='\u000E' && LA5_2<='\u001F')||LA5_2=='!'||(LA5_2>='#' && LA5_2<='+')||(LA5_2>='-' && LA5_2<=';')||LA5_2=='='||(LA5_2>='?' && LA5_2<='a')||(LA5_2>='c' && LA5_2<='\uFFFF')) ) {s = 10;}

                        else s = 9;

                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA5_0 = input.LA(1);

                        s = -1;
                        if ( (LA5_0=='<') ) {s = 1;}

                        else if ( (LA5_0==' ') ) {s = 2;}

                        else if ( (LA5_0=='\t'||(LA5_0>='\f' && LA5_0<='\r')) ) {s = 3;}

                        else if ( (LA5_0=='c') ) {s = 4;}

                        else if ( (LA5_0=='l') ) {s = 5;}

                        else if ( (LA5_0=='r') ) {s = 6;}

                        else if ( (LA5_0=='\"') ) {s = 7;}

                        else if ( (LA5_0=='>') ) {s = 8;}

                        else if ( (LA5_0=='\n') ) {s = 9;}

                        else if ( ((LA5_0>='\u0000' && LA5_0<='\b')||LA5_0=='\u000B'||(LA5_0>='\u000E' && LA5_0<='\u001F')||LA5_0=='!'||(LA5_0>='#' && LA5_0<='+')||(LA5_0>='-' && LA5_0<=';')||LA5_0=='='||(LA5_0>='?' && LA5_0<='b')||(LA5_0>='d' && LA5_0<='k')||(LA5_0>='m' && LA5_0<='q')||(LA5_0>='s' && LA5_0<='\uFFFF')) ) {s = 10;}

                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA5_41 = input.LA(1);

                        s = -1;
                        if ( ((LA5_41>='\u0000' && LA5_41<='\t')||(LA5_41>='\u000B' && LA5_41<='!')||(LA5_41>='#' && LA5_41<='+')||(LA5_41>='-' && LA5_41<=';')||LA5_41=='='||(LA5_41>='?' && LA5_41<='\uFFFF')) ) {s = 10;}

                        else s = 42;

                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA5_39 = input.LA(1);

                        s = -1;
                        if ( ((LA5_39>='\u0000' && LA5_39<='\t')||(LA5_39>='\u000B' && LA5_39<='!')||(LA5_39>='#' && LA5_39<='+')||(LA5_39>='-' && LA5_39<=';')||LA5_39=='='||(LA5_39>='?' && LA5_39<='\uFFFF')) ) {s = 10;}

                        else s = 36;

                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA5_32 = input.LA(1);

                        s = -1;
                        if ( ((LA5_32>='\u0000' && LA5_32<='\t')||(LA5_32>='\u000B' && LA5_32<='!')||(LA5_32>='#' && LA5_32<='+')||(LA5_32>='-' && LA5_32<=';')||LA5_32=='='||(LA5_32>='?' && LA5_32<='\uFFFF')) ) {s = 10;}

                        else s = 36;

                        if ( s>=0 ) return s;
                        break;
                    case 6 : 
                        int LA5_37 = input.LA(1);

                        s = -1;
                        if ( ((LA5_37>='\u0000' && LA5_37<='\t')||(LA5_37>='\u000B' && LA5_37<='!')||(LA5_37>='#' && LA5_37<='+')||(LA5_37>='-' && LA5_37<=';')||LA5_37=='='||(LA5_37>='?' && LA5_37<='\uFFFF')) ) {s = 10;}

                        else s = 36;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 5, _s, input);
            error(nvae);
            throw nvae;
        }
    }
 

}